package rescsa.gob.pe.actividad.action;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import rescsa.gob.pe.actividad.bean.ActividadBEAN;
import rescsa.gob.pe.actividad.service.ActividadService;
import rescsa.gob.pe.actividad.service.ActividadServiceImplementacion;
import rescsa.gob.pe.casoprueba.bean.CasoPruebaBEAN;
import rescsa.gob.pe.requerimiento.bean.RequerimientoBEAN;
import rescsa.gob.pe.requerimiento.service.RequerimientoServiceImplementacion;

import com.opensymphony.xwork2.ActionSupport;

public class BandejadePruebasAsignadasAction extends ActionSupport{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private RequerimientoServiceImplementacion requerimientoi=new RequerimientoServiceImplementacion();
	private List<RequerimientoBEAN> requerimientos;
	
	private ActividadService actividadi;
	private List<ActividadBEAN> actividades;
	private RequerimientoBEAN requerimiento;
	private CasoPruebaBEAN casoprueba;
	private  CasoPruebaBEAN otravariavle;
	private int nuevocodigo;
	
	Date fecha=new Date();
	
	public BandejadePruebasAsignadasAction(){
		actividadi=new ActividadServiceImplementacion();
		actividades=new ArrayList<ActividadBEAN>();
		requerimiento=new RequerimientoBEAN();
		casoprueba=new CasoPruebaBEAN();
		otravariavle=new CasoPruebaBEAN();
	}
	

//	Analista QA
//	==============================================================================================

	public String bandejadePruebasAsignadas(){
		System.out.println("llega a bandeja de pruebas asignadas");
		try {
			requerimientos=requerimientoi.ListaRequerimientosAnalista();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return SUCCESS;
	}
		
	
	public String bandejadeActividadesAnalista(){
		System.out.println("llega a bandeja de actividades analista "+requerimiento.getCodigo_solicitud_requerimiento());
		try {
			actividades=actividadi.ListaActividadesRequerimientoAnalista(""+requerimiento.getCodigo_solicitud_requerimiento());
			for(ActividadBEAN aux:actividades){
				System.out.println("actividades "+aux.getCodigo_actividad());
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return SUCCESS;
	}
	
	public String registrarCasosdeUsodePrueba(){
		System.out.println("llega a registrar casos de uso de prueba");
		System.out.println("codigo actividad "+casoprueba.getActividadBEAN().getCodigo_actividad());
		
		try {
			casoprueba=actividadi.ObtenerCasodePrueba(casoprueba.getActividadBEAN().getCodigo_actividad());
			otravariavle=actividadi.ObtenerCasodePruebaxId(casoprueba.getCodigo_caso_prueba());
			nuevocodigo=otravariavle.getCodigo_caso_prueba()+1;
			System.out.println("nuevo codigo "+nuevocodigo);
			System.out.println("Codigo caso prueba otro "+otravariavle.getCodigo_caso_prueba());
//			System.out.println("codigo requerimiento "+casoprueba.getRequerimientoBEAN().getCodigo_solicitud_requerimiento());
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return SUCCESS;
	}
	
	public String grabarCasodePrueba(){
		System.out.println("llega a grabar caso de prueba");
		try {
			System.out.println("Codigo caso prueba "+casoprueba.getCodigo_caso_prueba());
//			casoprueba=actividadi.ObtenerCasodePruebaxId(casoprueba.getCodigo_caso_prueba()+1);
//			otravariavle=actividadi.ObtenerCasodePruebaxId(casoprueba.getCodigo_caso_prueba());
			
			casoprueba.setFecha_registro(fecha);
			actividadi.GrabaCasodePrueba(casoprueba);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("graba exitosamente el caso de prueba");
		return SUCCESS;
	}
	
//	==============================================================================================
	
	public RequerimientoServiceImplementacion getRequerimientoi() {
		return requerimientoi;
	}
	public void setRequerimientoi(RequerimientoServiceImplementacion requerimientoi) {
		this.requerimientoi = requerimientoi;
	}
	public List<RequerimientoBEAN> getRequerimientos() {
		return requerimientos;
	}
	public void setRequerimientos(List<RequerimientoBEAN> requerimientos) {
		this.requerimientos = requerimientos;
	}
	public List<ActividadBEAN> getActividades() {
		return actividades;
	}
	public void setActividades(List<ActividadBEAN> actividades) {
		this.actividades = actividades;
	}
	public RequerimientoBEAN getRequerimiento() {
		return requerimiento;
	}
	public void setRequerimiento(RequerimientoBEAN requerimiento) {
		this.requerimiento = requerimiento;
	}
	public void setCasoprueba(CasoPruebaBEAN casoprueba) {
		this.casoprueba = casoprueba;
	}
	public CasoPruebaBEAN getCasoprueba() {
		return casoprueba;
	}


	public CasoPruebaBEAN getOtravariavle() {
		return otravariavle;
	}


	public void setOtravariavle(CasoPruebaBEAN otravariavle) {
		this.otravariavle = otravariavle;
	}


	public int getNuevocodigo() {
		return nuevocodigo;
	}


	public void setNuevocodigo(int nuevocodigo) {
		this.nuevocodigo = nuevocodigo;
	}

}
